package main.java.thread;
/*
      创建线程类型，直接继承Thread类并重写run方法。
      我们要将线程对象帮我们做的业务，写到run方法中。
 */
class MyThread01 extends Thread{
    @Override
    public void run() {
        String tName=Thread.currentThread().getName();
        while(true) {
            System.out.println( tName+ "->MyThread01.run()");
        }
    }
}
class MyThread02 extends Thread{
    @Override
    public void run() {
        String tName=Thread.currentThread().getName();
        while(true) {
            System.out.println( tName+ "->MyThread02.run()");
        }
    }
}
public class ThreadDemo01 {
    /*
          main方法会运行在主线程中，这个线程不是我们启动的线程，而是由JVM启动的线程
          @param args
     */
    public static void main(String[] args) {
        //获取main方法运行在哪个线程，这个线程名字是什么
        System.out.println(Thread.currentThread().getName());
        //创建两个新的线程对象
        Thread t1=new MyThread01();
        Thread t2=new MyThread02();
        //启动线程对象
        //如果是t1.run()，那么就是单线程，会一直执行t1.run()中的方法，不会执行t2.run()中的方法
        //如果是t1.start()，那么就是多线程，会执行t1.run()中的方法，也会执行t2.run()中的方法
        t1.start();//线程启动后获取了CPU会执行自己的run方法
        t2.start();
    }
}
